package com.baozun.houji.viewmodel

import androidx.lifecycle.MutableLiveData
import com.baozhun.mall.common.model.bean.ApiPagerResponse
import com.baozhun.mall.common.model.bean.UserInfo
import com.baozun.houji.goods.network.homeApiService
import com.baozhun.mall.common.model.bean.OrderInfoBean
import me.hgj.jetpackmvvm.base.viewmodel.BaseViewModel
import me.hgj.jetpackmvvm.ext.request
import me.hgj.jetpackmvvm.state.ResultState

/**
 * @Title：项目主页Activity
 * @Description：有两种回调方式：
 * 1.自动过滤服务器结果，失败抛异常
 * 2.模拟登陆 将返回的数据直接给activity/fragment去处理使用
 * 可以根据个人理解与喜好使用(建议 简单的不需要做数据过滤包装的能直接用返回数据的可以直接用2   通用的列表请用用1  )
 * @Author：xuefeng.zhu
 * @Since：2022/11/4
 * @Version：1.0.0
 */
class RequestTestViewModel : BaseViewModel() {

    var loginResult = MutableLiveData<ResultState<UserInfo>>()

    //列表请求示例
    var mOrderList = MutableLiveData<ApiPagerResponse<ArrayList<OrderInfoBean>>>()

    //页码 首页数据页码从0开始
    var pageNo = 0

    /**
     * 模拟订单列表请求，自动进行接口异常处理
     */
    fun getOrderList() {
//        request({ orderApiService.getOrderListData(pageNo,10,1) }, {
//            mOrderList.value = it
//        }, isShowDialog = true)
    }

    /**
     * 模拟登陆请求
     */
    fun login() {
        request({ homeApiService.login("user", "pwd") }, loginResult, true)
    }

}